The present invention relates generally to electronic communications.
Computer networks (e.g., LANs) implement communications between requesters of information (clients) and providers of information (servers) via various protocol communication schemes. Referring to FIG. 1, a popular protocol, Transmission Control Protocol (TCP), forms a TCP communication session 14 between a client 10 and a server 12. A "session" here means any stateful (or state-based) connection or stateful communications stream, using, e.g., TCP as a networking transport. Client 10 and server 12 issue respective sets of primitives 16 and 18 that are translated into TCP messages which govern their communication. Server 12 "listens" to one or more of its communications ports until a client 10 transmits a "connect" instruction. Then server 12 and client 10 post "send" and "receive" messages for transmitting data packets, after which session 14 is "closed" by both client 10 and server 12. Each client and server participating in a TCP session must have a valid network address such that the network correctly routes information between client and server.
Electronic mail (e-mail) service can be accomplished by such client/server TCP communications over a network. Two protocols typically govern TCP e-mail communications: IMAP (or Interactive Mail Access Protocol) governs requests for e-mail messages from an e-mail server, and SMTP (or Simple Mail Transport Protocol) governs the packaging and sending of e-mail messages to the e-mail server. As shown in FIG. 2, IMAP and SMTP TCP sessions 24 can be formed between an e-mail client 20 (e.g., a computer user with a network e-mail account) and an e-mail server 22 (e.g., the network server that receives, stores, and retrieves e-mail messages).
Should developers and service providers wish to allow e-mail clients to send and receive e-mail messages across public networks such as the Internet in a secure fashion, or easily through a "firewall", (or conduct other, similar, TCP sessions for other types of applications), such developers and providers face several difficulties. First, many TCP standard protocols (e.g., IMAP and SMTP) do not provide encryption. Since many TCP applications (e.g., e-mail) are required by users to provide secure communications, separate encryption schemes would need to be written and then made available at both client and server. Second, while local LANs can provide strictly valid network addresses for conducting a communication session between client (such as an individual LAN PC) and a server (such as an e-mail service provider), local LAN network addresses are typically stripped, or translated to other, proxy addresses by Internet routers. To create a TCP session over the Internet, a custom proxy addressing application would have to been written and loaded into the client router.